const quizData = [
    {
        question: "什么是项目（project）？（多选）",
        options: [
            "是为增加某一独特的产品或服务的价值所做的努力",
            "是一次性的努力",
            "是有限的努力",
            "上课、睡觉、吃饭等日常操作不是项目"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目管理的定义包括哪些要点？（多选）",
        options: [
            "以项目为对象的系统管理方法",
            "通过特定的柔性组织",
            "进行高效率的计划、组织、指导和控制",
            "不断进行资源的配置和优化",
            "不断地与项目各方沟通和协调",
            "使项目执行的全过程处于最佳状态"
        ],
        correct: [0, 1, 2, 3, 4, 5]
    },
    {
        question: "项目管理的挑战包括哪些？（多选）",
        options: [
            "在范围、时间、质量和预算等条件限制下达到项目目标",
            "各种资源的分配、整合和优化",
            "在保证质量前提下寻找任务、时间和成本的最佳平衡",
            "项目管理的本质要求"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目的要素包括哪些？（多选）",
        options: [
            "进度、质量、成本（三要素）",
            "人员、问题、过程（3P）",
            "范围、资源、时间、质量（四要素）",
            "任务、时间、成本（本质要素）"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目的生命周期包括哪些阶段？（多选）",
        options: [
            "启动",
            "计划",
            "执行",
            "控制",
            "结束"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目管理的特点包括哪些？（多选）",
        options: [
            "项目管理是设计型项目",
            "软件过程模型",
            "需求变化频繁",
            "难以估算工作量",
            "主要成本是人力成本",
            "以人为本的管理"
        ],
        correct: [0, 1, 2, 3, 4, 5]
    },
    {
        question: "影响项目可行性的因素包括哪些？（多选）",
        options: [
            "经济可行性",
            "技术可行性",
            "风险和不确定性"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "成本效益分析方法包括哪些？（多选）",
        options: [
            "回收期分析法",
            "净现值分析法"
        ],
        correct: [0, 1]
    },
    {
        question: "合同计费的种类包括哪些？（多选）",
        options: [
            "固定总价合同",
            "费用偿还合同",
            "时间和材料合同",
            "功能点计费合同"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "敏捷开发宣言中的原则包括哪些？（多选）",
        options: [
            "个体和交互高于流程和工具",
            "工作的软件高于详尽的文档",
            "客户合作高于合同谈判",
            "响应变化高于遵循计划"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "极限编程（XP）的基本思想包括哪些？（多选）",
        options: [
            "沟通",
            "简单",
            "反馈",
            "勇气"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目的组织结构类型包括哪些？（多选）",
        options: [
            "职能型",
            "纯项目型",
            "矩阵性"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "项目计划的方法包括哪些？（多选）",
        options: [
            "滚动计划法",
            "WBS方法",
            "网络计划法"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "软件项目资源可分为哪些类？（多选）",
        options: [
            "人力",
            "可复用的软构件或组件",
            "软硬件环境"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "工作量估算有哪些方法？（多选）",
        options: [
            "COCOMO方法",
            "多变量模型",
            "基于用例的工作量估计",
            "IBM RMC估算方法",
            "扑克牌估算方法",
            "不同场景的估算法"
        ],
        correct: [0, 1, 2, 3, 4, 5]
    },
    {
        question: "软件质量的管理水平包括哪些？（多选）",
        options: [
            "检查",
            "保证",
            "预防",
            "完美"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "软件质量的组织保证包括哪些方面？（多选）",
        options: [
            "管理层",
            "SQA组",
            "测试组",
            "SEPG组"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "软件评审方法包括哪些？（多选）",
        options: [
            "临时评审",
            "轮查",
            "互为复审",
            "走查",
            "会议审查"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "建立里程碑的方法包括哪些？（多选）",
        options: [
            "设立合理的里程碑检查点",
            "制定里程碑的完成目标",
            "明确里程碑的验证标准",
            "确定里程碑的利益相关人",
            "标识里程碑的进度百分比"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "有效沟通的五个原则包括哪些？（多选）",
        options: [
            "学会倾听",
            "表达准确",
            "及时沟通",
            "双向沟通",
            "换位思考"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "团队的发展阶段包括哪些？（多选）",
        options: [
            "形成期",
            "震荡期",
            "规范期",
            "成熟期",
            "重组期"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "良好的工作氛围包括哪些要素？（多选）",
        options: [
            "开放",
            "真诚",
            "平等",
            "信任"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目风险管理的措施包括哪些？（多选）",
        options: [
            "规避",
            "减轻",
            "转移",
            "接受"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目活动关系的类型包括哪些？（多选）",
        options: [
            "结束-开始",
            "开始-开始",
            "结束-结束"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "创建项目网络图的方法包括哪些？（多选）",
        options: [
            "前导图法",
            "箭线图法"
        ],
        correct: [0, 1]
    },
    {
        question: "常见的进度编制方法包括哪些？（多选）",
        options: [
            "关键路径法CPM",
            "计划评审技术（PERT）法",
            "甘特图（GANNT）法",
            "表格表示法"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目团队成员常见的影响进度的心态包括哪些？（多选）",
        options: [
            "完美主义",
            "自尊心",
            "想当然主义"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "工期估算的三点估算法包括哪些时间点？（多选）",
        options: [
            "最可能时间",
            "最乐观时间",
            "最悲观时间"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "项目风险一般来自哪些方面？（多选）",
        options: [
            "项目自身",
            "组织",
            "环境"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "风险识别的方法和工具包括哪些？（多选）",
        options: [
            "头脑风暴会议",
            "风险库",
            "检查表"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "标识项目活动可以从哪些主线来考虑？（多选）",
        options: [
            "软件开发生命周期",
            "软件开发功能点"
        ],
        correct: [0, 1]
    },
    {
        question: "网络模型的遍历包括哪些方式？（多选）",
        options: [
            "正向遍历",
            "反向遍历"
        ],
        correct: [0, 1]
    },
    {
        question: "PMBOK将计划的过程分为哪些部分？（多选）",
        options: [
            "核心过程",
            "辅助过程"
        ],
        correct: [0, 1]
    },
    {
        question: "软件质量的零缺陷管理包含哪些要点？（多选）",
        options: [
            "第一次就把事情做正确",
            "消除劣质成本",
            "将处理缺陷和失误造成的成本降到最低",
            "极大地提高工作质量和工作效率"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "Scrum中的角色分组包括哪些？（多选）",
        options: [
            "猪组",
            "鸡组"
        ],
        correct: [0, 1]
    },
    {
        question: "Brooks法则的含义是什么？（多选）",
        options: [
            "向进度落后的项目增加人手只会使项目更加落后",
            "新增人员需要时间学习和适应",
            "沟通成本会随人员增加而增加",
            "项目进度无法通过简单增加人手来加快"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "德尔菲法的特点包括哪些？（多选）",
        options: [
            "是一种专家评估技术",
            "适用于没有或没有足够历史数据的情况",
            "专家的水平是关键",
            "对项目的理解程度很重要"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "扑克牌估算方法的步骤包括哪些？（多选）",
        options: [
            "团队成员一起评估任务",
            "通过特制扑克牌表示估算结果",
            "差异最大的两人需要说明理由",
            "其他成员可以补充发言",
            "直到估算结果基本一致为止"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "WBS方法的特点包括哪些？（多选）",
        options: [
            "将复杂问题分解成简单问题",
            "根据分解结果进行计划",
            "最低层次项目称为工作包",
            "工作包定义要考虑80小时法则或两周法则"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目干系人（stakeholder）的定义包括哪些要点？（多选）",
        options: [
            "积极参与项目的组织和个人",
            "项目执行中受影响的组织和个人",
            "项目成功后受影响的组织和个人",
            "可能受到积极或消极影响"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "软件项目经理的角色定位包括哪些？（多选）",
        options: [
            "是整个项目的核心",
            "是项目的灵魂",
            "需要统筹全局",
            "要平衡各方利益"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "软件质量保证（QA）和质量控制（QC）的区别包括哪些？（多选）",
        options: [
            "QA关注过程质量，QC关注产品质量",
            "QA是预防性的，QC是检测性的",
            "QA贯穿整个过程，QC在特定阶段",
            "QA确保质量体系有效，QC确保产品符合标准"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "损失期望值法的计算包括哪些要素？（多选）",
        options: [
            "风险发生概率",
            "风险造成的损失成本",
            "两者的乘积即为损失期望值"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "项目管理的最大挑战包括哪些？（多选）",
        options: [
            "在范围、时间、质量和预算等条件限制下达到目标",
            "各种资源的分配、整合和优化",
            "满足预先定义的项目目标"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "项目管理的本质包括哪些方面？（多选）",
        options: [
            "在保证质量的前提下",
            "寻找任务、时间和成本三者之间",
            "达到最佳平衡"
        ],
        correct: [0, 1, 2]
    },
    {
        question: "软件开发文档包括哪些类型？（多选）",
        options: [
            "项目计划文档",
            "需求规格说明书",
            "设计文档",
            "测试文档",
            "用户手册"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目成本管理包括哪些活动？（多选）",
        options: [
            "成本估算",
            "成本预算",
            "成本控制",
            "成本核算"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "软件质量度量的方法包括哪些？（多选）",
        options: [
            "代码复杂度度量",
            "缺陷密度度量",
            "测试覆盖率度量",
            "可维护性度量"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目进度控制的手段包括哪些？（多选）",
        options: [
            "调整资源分配",
            "优化工作顺序",
            "压缩工期",
            "并行开发"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "软件配置管理的主要任务包括哪些？（多选）",
        options: [
            "版本控制",
            "变更控制",
            "配置审计",
            "状态记录",
            "发布管理"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目沟通管理的要素包括哪些？（多选）",
        options: [
            "沟通计划制定",
            "信息分发",
            "绩效报告",
            "相关方管理"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "软件测试策略包括哪些类型？（多选）",
        options: [
            "单元测试",
            "集成测试",
            "系统测试",
            "验收测试"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目收尾阶段的工作包括哪些？（多选）",
        options: [
            "验收确认",
            "文档归档",
            "经验总结",
            "资源释放"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "软件项目外包管理要点包括哪些？（多选）",
        options: [
            "供应商选择",
            "合同管理",
            "进度监控",
            "质量控制",
            "验收管理"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "需求变更管理的流程包括哪些步骤？（多选）",
        options: [
            "变更申请",
            "变更影响分析",
            "变更评审",
            "变更实施",
            "变更确认"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目团队建设的方法包括哪些？（多选）",
        options: [
            "团队目标设定",
            "角色分工明确",
            "沟通机制建立",
            "激励机制完善",
            "冲突管理"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件质量保证体系的组成部分包括哪些？（多选）",
        options: [
            "质量标准",
            "质量计划",
            "质量控制",
            "质量改进",
            "质量评估"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目监控的主要内容包括哪些？（多选）",
        options: [
            "进度监控",
            "成本监控",
            "质量监控",
            "风险监控",
            "范围监控"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目估算的基本方法包括哪些？（多选）",
        options: [
            "类比估算",
            "参数估算",
            "自下而上估算",
            "专家判断估算"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目范围管理的主要过程包括哪些？（多选）",
        options: [
            "范围规划",
            "范围定义",
            "范围分解",
            "范围确认",
            "范围控制"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目质量控制的工具包括哪些？（多选）",
        options: [
            "检查表",
            "控制图",
            "因果分析",
            "帕累托分析",
            "直方图"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目人力资源管理的主要任务包括哪些？（多选）",
        options: [
            "人力资源规划",
            "团队组建",
            "团队建设",
            "团队管理"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "软件项目风险应对策略包括哪些？（多选）",
        options: [
            "风险规避",
            "风险转移",
            "风险缓解",
            "风险接受",
            "风险监控"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目验收的主要内容包括哪些？（多选）",
        options: [
            "功能验收",
            "性能验收",
            "文档验收",
            "安全验收",
            "部署验收"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目评估的维度包括哪些？（多选）",
        options: [
            "技术可行性",
            "经济可行性",
            "操作可行性",
            "法律可行性"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "软件开发模型包括哪些类型？（多选）",
        options: [
            "瀑布模型",
            "增量模型",
            "螺旋模型",
            "原型模型",
            "敏捷模型"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目集成管理包括哪些过程？（多选）",
        options: [
            "制定项目章程",
            "制定项目管理计划",
            "指导与管理项目执行",
            "监控项目工作",
            "实施整体变更控制"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目采购管理的主要活动包括哪些？（多选）",
        options: [
            "采购计划编制",
            "供应商选择",
            "合同管理",
            "采购绩效评估",
            "采购收尾"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件度量的对象包括哪些？（多选）",
        options: [
            "过程度量",
            "产品度量",
            "资源度量",
            "项目度量"
        ],
        correct: [0, 1, 2, 3]
    },
    {
        question: "项目绩效评估的维度包括哪些？（多选）",
        options: [
            "进度绩效",
            "成本绩效",
            "质量绩效",
            "范围绩效",
            "团队绩效"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "配置管理工具的功能包括哪些？（多选）",
        options: [
            "版本控制",
            "分支管理",
            "变更追踪",
            "构建管理",
            "发布管理"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "常用的项目管理工具包括哪些？（多选）",
        options: [
            "甘特图工具",
            "任务管理工具",
            "文档协作工具",
            "沟通协作工具",
            "代码管理工具"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目进度压缩的方法包括哪些？（多选）",
        options: [
            "快速跟进",
            "赶工",
            "资源优化",
            "范围裁剪",
            "并行开发"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目质量改进的方法包括哪些？（多选）",
        options: [
            "过程改进",
            "技术改进",
            "工具改进",
            "人员培训",
            "标准优化"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目知识管理包括哪些方面？（多选）",
        options: [
            "知识获取",
            "知识存储",
            "知识共享",
            "知识应用",
            "知识创新"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目交付物包括哪些？（多选）",
        options: [
            "可执行程序",
            "源代码",
            "技术文档",
            "用户手册",
            "培训材料"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目安全管理包括哪些方面？（多选）",
        options: [
            "访问控制",
            "数据安全",
            "代码安全",
            "运行环境安全",
            "安全审计"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "常见的软件项目质量标准包括哪些？（多选）",
        options: [
            "ISO 9001",
            "CMMI",
            "ISO/IEC 25000",
            "IEEE 730",
            "GB/T 19001"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "敏捷开发的实践方法包括哪些？（多选）",
        options: [
            "每日站会",
            "迭代开发",
            "持续集成",
            "用户故事",
            "回顾会议"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目风险识别的方法包括哪些？（多选）",
        options: [
            "文档评审",
            "专家访谈",
            "SWOT分析",
            "德尔菲法",
            "核对单法"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "团队激励机制包括哪些方面？（多选）",
        options: [
            "物质激励",
            "精神激励",
            "职业发展",
            "工作环境",
            "团队氛围"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目成功的关键因素包括哪些？（多选）",
        options: [
            "高层支持",
            "明确目标",
            "有效沟通",
            "团队协作",
            "风险控制"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目失败的常见原因包括哪些？（多选）",
        options: [
            "需求不明确",
            "计划不合理",
            "沟通不充分",
            "资源不足",
            "风险管理不当"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目文档管理包括哪些内容？（多选）",
        options: [
            "文档计划",
            "文档制作",
            "文档评审",
            "文档发布",
            "文档维护"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目变更控制包括哪些活动？（多选）",
        options: [
            "变更识别",
            "变更分析",
            "变更决策",
            "变更实施",
            "变更跟踪"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目配置管理的基线包括哪些？（多选）",
        options: [
            "需求基线",
            "设计基线",
            "开发基线",
            "测试基线",
            "发布基线"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目质量保证的手段包括哪些？（多选）",
        options: [
            "质量计划",
            "质量控制",
            "质量审计",
            "质量度量",
            "持续改进"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目估算的技巧包括哪些？（多选）",
        options: [
            "分解估算",
            "类比估算",
            "专家判断",
            "参数估算",
            "三点估算"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目沟通的技巧包括哪些？（多选）",
        options: [
            "积极倾听",
            "清晰表达",
            "及时反馈",
            "选择合适的沟通方式",
            "注意沟通的时机"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "团队冲突处理的方法包括哪些？（多选）",
        options: [
            "妥协",
            "合作",
            "竞争",
            "回避",
            "适应"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目监控的关键指标包括哪些？（多选）",
        options: [
            "进度偏差",
            "成本偏差",
            "质量指标",
            "范围变更",
            "资源使用率"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目验收的标准包括哪些？（多选）",
        options: [
            "功能完整性",
            "性能达标",
            "质量合格",
            "文档完备",
            "用户满意"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目后评估的内容包括哪些？（多选）",
        options: [
            "目标达成情况",
            "过程执行情况",
            "资源使用情况",
            "经验教训总结",
            "改进建议"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件测试类型包括哪些？（多选）",
        options: [
            "功能测试",
            "性能测试",
            "安全测试",
            "兼容性测试",
            "可用性测试"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "持续集成的要素包括哪些？（多选）",
        options: [
            "代码版本控制",
            "自动化构建",
            "自动化测试",
            "自动化部署",
            "持续反馈"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目经验总结的方面包括哪些？（多选）",
        options: [
            "技术经验",
            "管理经验",
            "团队协作经验",
            "风险应对经验",
            "客户沟通经验"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目交付准备工作包括哪些？（多选）",
        options: [
            "系统测试完成",
            "文档资料齐全",
            "用户培训就绪",
            "环境部署完成",
            "验收方案制定"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目收尾工作包括哪些？（多选）",
        options: [
            "系统交付",
            "文档归档",
            "人员撤离",
            "资源清算",
            "总结报告"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目需求管理的关键活动包括哪些？（多选）",
        options: [
            "需求获取",
            "需求分析",
            "需求确认",
            "需求跟踪",
            "需求变更控制"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件架构设计的考虑因素包括哪些？（多选）",
        options: [
            "系统性能",
            "可扩展性",
            "可维护性",
            "安全性",
            "可靠性"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "代码质量控制的方法包括哪些？（多选）",
        options: [
            "代码审查",
            "静态分析",
            "单元测试",
            "代码重构",
            "编码规范"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "团队培训的方式包括哪些？（多选）",
        options: [
            "课堂培训",
            "在线学习",
            "实践演练",
            "导师指导",
            "经验分享"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目进度优化的措施包括哪些？（多选）",
        options: [
            "快速跟进",
            "资源调配",
            "并行作业",
            "加班赶工",
            "范围调整"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "客户关系管理的要点包括哪些？（多选）",
        options: [
            "需求沟通",
            "进度汇报",
            "问题处理",
            "变更协商",
            "满意度管理"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目知识转移的方式包括哪些？（多选）",
        options: [
            "文档交接",
            "培训指导",
            "现场演示",
            "技术支持",
            "经验分享会"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件项目质量度量指标包括哪些？（多选）",
        options: [
            "代码覆盖率",
            "缺陷密度",
            "客户满意度",
            "性能指标",
            "可靠性指标"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "项目团队建设的目标包括哪些？（多选）",
        options: [
            "提高团队效率",
            "增强团队凝聚力",
            "提升专业能力",
            "改善沟通协作",
            "培养创新精神"
        ],
        correct: [0, 1, 2, 3, 4]
    },
    {
        question: "软件开发环境管理包括哪些？（多选）",
        options: [
            "开发工具配置",
            "版本控制管理",
            "数据库环境",
            "测试环境维护",
            "部署环境准备"
        ],
        correct: [0, 1, 2, 3, 4]
    }
];

let currentQuiz = 0;
let score = 0;
let selectedAnswers = new Set();

const quizContainer = document.getElementById('quiz');
const nextButton = document.getElementById('next');
const progressDiv = document.querySelector('.progress');

function showQuestion() {
    const currentQuizData = quizData[currentQuiz];
    progressDiv.textContent = `问题 ${currentQuiz + 1}/${quizData.length}`;
    
    const questionHTML = `
        <div class="question">
            <h3>${currentQuizData.question}</h3>
            <div class="options">
                ${currentQuizData.options.map((option, index) => `
                    <div class="option" onclick="selectOption(${index})">
                        ${option}
                    </div>
                `).join('')}
            </div>
        </div>
        <button onclick="checkAnswer()" class="check-button">检查答案</button>
    `;
    
    quizContainer.innerHTML = questionHTML;
    selectedAnswers.clear();
    nextButton.style.display = 'none';
}

function selectOption(selectedIndex) {
    const options = document.querySelectorAll('.option');
    
    if (selectedAnswers.has(selectedIndex)) {
        selectedAnswers.delete(selectedIndex);
        options[selectedIndex].classList.remove('selected');
    } else {
        selectedAnswers.add(selectedIndex);
        options[selectedIndex].classList.add('selected');
    }
}

function checkAnswer() {
    const options = document.querySelectorAll('.option');
    const currentQuizData = quizData[currentQuiz];
    const checkButton = document.querySelector('.check-button');
    
    // 禁用选项和检查按钮
    options.forEach(option => {
        option.style.pointerEvents = 'none';
    });
    checkButton.style.display = 'none';
    
    // 显示所有正确答案
    currentQuizData.correct.forEach(correctIndex => {
        options[correctIndex].classList.add('correct');
    });

    // 检查答案是否完全正确
    const isCorrect = currentQuizData.correct.length === selectedAnswers.size &&
        currentQuizData.correct.every(index => selectedAnswers.has(index));
    
    if (isCorrect) {
        score++;
    }
    
    // 显示下一题按钮
    if (currentQuiz < quizData.length - 1) {
        nextButton.style.display = 'block';
    } else {
        nextButton.style.display = 'block';
        nextButton.textContent = '查看得分';
    }
}

function showScore() {
    const percentage = (score / quizData.length) * 100;
    quizContainer.innerHTML = `
        <h2>测试完成！</h2>
        <p>总题数: ${quizData.length}</p>
        <p>正确题数: ${score}</p>
        <p>得分率: ${percentage.toFixed(2)}%</p>
    `;
    nextButton.style.display = 'none';
}

nextButton.addEventListener('click', () => {
    if (currentQuiz < quizData.length - 1) {
        currentQuiz++;
        showQuestion();
        nextButton.style.display = 'none';
    } else {
        showScore();
    }
});

// 初始化显示第一题
showQuestion();